added friendly_id to blog posts

jamesperet 9 years ago
parent
commit
04d4a2645d

+ 1 - 1
app/controllers/blog_posts_controller.rb

@@ -68,7 +68,7 @@ class BlogPostsController < ApplicationController
68 68
   private
69 69
     # Use callbacks to share common setup or constraints between actions.
70 70
     def set_blog_post
71
-      @blog_post = BlogPost.find(params[:id])
71
+      @blog_post = BlogPost.friendly.find(params[:id])
72 72
     end
73 73
 
74 74
     # Never trust parameters from the scary internet, only allow the white list through.

+ 3 - 0
app/models/blog_post.rb

@@ -1,3 +1,6 @@
1 1
 class BlogPost < ActiveRecord::Base
2
+  extend FriendlyId
3
+  friendly_id :title, use: :slugged
4
+  validates_presence_of :title, :slug
2 5
   belongs_to :author, :class_name => "User"
3 6
 end

+ 1 - 1
app/views/blog_posts/show.html.erb

@@ -26,4 +26,4 @@
26 26
 </p>
27 27
 
28 28
 <%= link_to 'Edit', edit_blog_post_path(@blog_post) %> |
29
-<%= link_to 'Back', blog_posts_path %>
29
+<%= link_to 'Back', blog_path %>

+ 1 - 1
config/routes.rb

@@ -2,7 +2,7 @@ RailsWebsiteTemplate::Application.routes.draw do
2 2
   
3 3
   get "blog" => "blog_posts#index", :as => :blog
4 4
   get "post/:id" => "blog_posts#show", :as => :post
5
-  get "admin/posts/list" => "blog_posts#list", :as => :post_list
5
+  get "admin/posts" => "blog_posts#list", :as => :post_list
6 6
   resources :blog_posts, path: '/admin/posts'
7 7
 
8 8
   get "start/index"